<#--
  Service 一对多关联数据加载（覆盖 getDetail 方法）
-->

    @Override
    public ${table.entityName}DTO getDetail(${pkType} id) {
        if (id == null) {
            throw BusinessException.invalidParam("ID不能为空");
        }
        
        ${table.entityName} entity = ${lowerEntity}Mapper.selectById(id);
        if (entity == null) {
            throw BusinessException.resourceNotFound("${table.comment!table.entityName}不存在");
        }
        
        ${table.entityName}DTO dto = EntityDTOConverter.toDTO(entity, ${table.entityName}DTO.class);
        
<#if table.ext?? && table.ext.relations??>
        // 加载关联数据
  <#list table.ext.relations as r>
        // TODO: 加载 ${r.alias} 关联数据
        // 示例代码：
        // List<${r.entityClass}> ${r.alias}Entities = ${r.alias}Mapper.selectList(
        //     new LambdaQueryWrapper<${r.entityClass}>()
        //         .eq(${r.entityClass}::get${r.foreignKey?cap_first}, id)
        // );
        // dto.set${r.alias?cap_first}(EntityDTOConverter.toDTOList(${r.alias}Entities, ${r.dtoClass}.class));
        logger.warn("子表查询逻辑未实现：{} - 请手动实现", "${r.alias}");
  </#list>
</#if>
        
        return dto;
    }

